import 'package:json_annotation/json_annotation.dart';

import 'kh_popularity_model.dart';
import 'kh_richer_model.dart';
part 'kh_chat_user_model.g.dart';

@JsonSerializable()
class KHChatUserModel {
  //"聊一聊"文案，为空则不展示
  String? chatGuide;
  String? mobile;
  String? userCode;
  String? userId;

  String? imId;
  String? imPassword;
  String? nickName;
  String? nickname;
  String? groupNickname;
  String? nickEdit; //审核中名称

  String? headPortraitsUrl;
  String? openId;
  String? roomNo;
  String? roomInfoStr;
  String? gangRoomNo; //开黑房间号

  String? godRoomNo; //大神带飞房间号
  String? godRoomTitle; //“他正在大神带飞房间”
  String? godRoomDetail; //"王者 | 和平事例带飞"
  String? godContent; //“找他开黑”

  String? playRoomCardContent; //卡片文案
  String? playRoomCardUrl; //房间图片 = 房间分享卡片图片

// 成就图片
// @property (strong, nonatomic) NSArray<NSString *> *userMedalUrl;

/**
 等级
 */
  int? memberLevel;
//钻石数量
  int? virtualBalance;
/**
 等级图标
 */
  String? memberEmblem;
/**
 IM会话页面头像框
 */
  String? memberHeadPortrail;

// 我的页贵族徽章-不带文字
  String? emblemSimpleMineUrl;
// yahabibi贵族徽章-不带文字
  String? emblemSimpleUrl;
// yahabibi贵族徽章-带文字
  String? emblemUrl;
// yahabibi贵族等级
  int? nobleRankCode;
//智齿客户标签
  String? customerTag;
//智齿技能组
  String? skillsGroup;
//智齿技能组字断
  Map? sobotCustomerFields;
//智齿进线模式
  int? sobotServiceMode;
//智齿显示用户等级
  String? wealthFieldLevelName;
//是否在公会
  bool? isInGuild;
//是否加入超豪俱乐部
  bool? isRicher;

//用户信息扩展
  String? userExtInfo;

//人气等级
  KHPopularityModel? popularityInfo;
  KHPopularityModel? wealthInfo; //财富等级个人主页外展模型
  KHPopularityModel? wealthLableInfo; //财富等级存储信息(公屏展示需要用到)
  ///超豪
  KHRicherModel? richerInfo;

/**
 生日
 */
  String? birth;

/**
 签名
 */
  String? about;

  /// 审核中的签名
  String? aboutEdit;

  /// 编辑资料声音
  String? myVoice;

  /// 编辑资料审核中的声音
  String? myVoiceEdit;

  /// 语音时长
  int? duration;

  /// 兴趣爱好
  String? interests;

  /// 职业
  String? profession;

  /// 相册图片集合
  List<String>? picUrls;

/**
 视频地址
 */
  String? videoUrl;

// 视频文件id
  String? videoId;

/**
 语音地址
 */
  String? voice;

/**
 语音时长
 */
  int? voiceDuration;

/**
 所在市
 */
  String? city;

//是否是巡管     true为巡管 为null或者false为非巡管
  bool? managerPermit;

//环信设备id
  String? hxDeviceId;

  /// 是否已关注（1：是；0：否）
  bool? isAttention;

  bool? isFans;

  bool? attention;

  ///**
// 用户认证状态(0未认证,1认证中,2审核通过,3冻结)
// */
//int? userInfoAuth;

/**
 用户认证状态文案
 */
  String? bodyAuthDesc;

/**
 关注人数
 */
  int? attentions;

/**
 粉丝数
 */
  int? fans;

/**
 新增粉丝数
 */
  int? newFans;

// 好友数
  int? totalFriendsCnt;

/**
 性别（0：保密；1：男；2：女）
 */
  int? gender;

  ///**
// 年龄
// */
//int? age;

  ///**
// 评分
// */
//@property (assign, nonatomic) CGFloat scoreAvg;

  ///**
// 月收入
// */
//@property (assign, nonatomic) CGFloat monthIncome;

/**
 最近来访人数
 */
  int? accessCount;
/**
  总来访人数
 */
  int? totalAccessedCnt;
/**
 总足迹
 */
  int? totalFootprints;

/**
 开启的技能个数
 */
  int? openedTechs;

/**
 礼物墙
 */
// @property (strong, nonatomic) NSArray <KHSendFlowerModel *>* vpList;

/**
 是否在黑名单
 */
  bool? isBlacked;

  bool? isSpecialAttention; //是否特别关注

  String? activityTagUrl; //萌新标签

  int? type; //1.用户 2.陪玩师

//int? orderTakeSwitch; //用户秒接单状态1开启 0关闭

// 1-佛系接单  2，3，4-暂不接单 5-秒接单
  int? ordersTakeStatus;

  String? headIconEdit; //用户头像审核记录

  List<String>? picUrlsEdit; //形象照审核记录

  String? videoEdit; //视频修改审核记录

  String? nobleRankName; //贵族名称

  String? guildName; //所在公会名称

  int? onclickLeftSecond; //一键下单剩余秒数，为null表示不存在

  String? oneclickCategoryId; //当前一键下单类目id

  int? oneclickMatchNum; //当前一键下单匹配人数

  bool? isInvalited; //是否邀请过分享

  String? platformAuthUrl; //达人标签

  bool? isCancel; //YES账号注销

  String? userRemark; //用户备注

  bool? online; //是否在线
  String? onlineStr; //"12天前来访"

  String? categoryStr; //用户在房间信息

  String? activTime; //活跃时间

  String? activeTime; //活跃时间

  int? hideActiveTime; //隐藏在线

  String? decorationsHeadFrameUrl; //对方的装扮头像框

  String? decorationsChatBubbleUrl; //聊天气泡

  String? decorationsChatBubbleTextColor; //聊天文字颜色

  String? rankPicUrl; //理想玩伴

  bool? gameCard; //是否有游戏名片

  bool? ticketOrder; //是否展示开黑邀请

  bool? forbid; //是否被封禁

  bool? forbidSend; //是否禁止发送

// "该访问对象在你的黑名单中"
  String? toastMsg;

// @property (strong, nonatomic) KHSongInfoModel *danPrice;
//是否有优惠
  int? isMusicDiscount;

//是否打招呼消息
  bool? isGreet;

//是否静默消息
  bool? greetNotice;

// 礼物面板充值福利标签：0-不展示；1-展示
  bool? accumulateFlag;

  int? luckyFlag; //幸运扭蛋机是否展示

// /// 亲密等级
// @property (strong, nonatomic) KHCloseFriendInfoModel *friendInfo;

// @property (strong, nonatomic) KHFlashChatCardModel *userMoodInfo; //心情信息

  /// 是否亲密好友
  bool? isIntimacyFriend;

// // IM中需要用到的扩展字段
// - (NSDictionary *)messageExtension;

  /// 用户资料完善度
  int? degreeOfInformation;

  /// true:已经领取，false未领取
  bool? isReceive;

  /// 动态增加心情需求新增字段
  bool? moodOldUser;

  /// 是否有游戏动态技能
  bool? gameSkill;

  /// 新用户引导新增
// @property (nonatomic, strong) KHNewUserBootModel *userBootDTO;

  /// 九月优化新增
  String? micFrameUrl;

  /// 礼物墙3.0新增
  List? giftWallProductList;
  List? giftWallStatList;

  /// 十月优化新增判断用户是否有历史头像
  bool? showHistoryHeadUrl;

// 开黑助手
  String? ticketMessageTip;

  List<String>? ticketKeyWords;

  int? nameWidth;

// 关注信息（0:无关注; 1：from关注to；2：to关注from; 3:互相关注）
  int? attentionType;

// 是否已在群中
  bool? inGroup;
// 是否可以加入群聊
  bool? canJoinGroup;

//是否是@所有人
  bool? isAtAll;

  /// 生日管家新增,是否可以修改生日
  bool? isEditBirthday;

  KHChatUserModel();
  factory KHChatUserModel.fromJson(Map<String, dynamic> json) =>
      _$KHChatUserModelFromJson(json);
  Map<String, dynamic> toJson() => _$KHChatUserModelToJson(this);
}
